package com.zte.sys.position.service;

import com.zte.sys.dept.model.Dept;
import com.zte.sys.login.model.Permission;
import com.zte.sys.modules.model.MModule;
import com.zte.sys.position.model.Job;
import com.zte.sys.position.model.JobCondition;
import com.zte.util.PageModel;

import java.util.List;
import java.util.Map;

public interface IJobService {

    /**
     * 职位分页条件查询
     * @param conn
     * @return
     */
    public PageModel<Job> queryJobPageByCondition(JobCondition conn,PageModel<Job> pageModel);

    /**
     * 查询职位
     * @param conn
     * @return
     */
    public List<Job> queryJobListByCondition(JobCondition conn);

    /**
     * 查询部门
     * @param deptId
     * @return
     */
    public List<Dept> queryDeptList(String deptId);

    /**
     * 职位详情
     * @param jobId
     * @return
     */
    public Job queryJobByJobId(String jobId);

    /**
     * 添加职位
     * @param job
     * @return
     */
    public int addJob(Job job);

    /**
     * 修改职位
     * @param job
     * @return
     */
    public int updateJob(Job job);

    /**
     * 注销恢复修改
     * @param job
     * @return
     */
    public int updateJobState(Job job);


//    public List<MModule> queryModuleByModulePid(JobCondition conn);

    /**
     * 赋权
     * @param conn
     * @return
     */
    public Map<String,List<MModule>> queryModuleMap(JobCondition conn);

    /**
     * 删除所有权限
     * @param
     * @return
     */
    public int delPermission(String comrid);

    /**
     * 重新赋权
     * @param permission
     * @return
     */
    public int addPermission(Permission permission);
}
